home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 2909 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.2 KB

  1. Path: mail2news.demon.co.uk!genesis.demon.co.uk
  2. From: Lawrence Kirby <fred@genesis.demon.co.uk>
  3. Newsgroups: comp.lang.c
  4. Subject: Re: quick decision: is n a power of 2?
  5. Date: Wed, 24 Jan 96 20:54:51 GMT
  6. Organization: none
  7. Message-ID: <822516891snz@genesis.demon.co.uk>
  8. References: <Pine.OSF.3.91.960119114608.18779E-100000@io.UWinnipeg.ca> <4e1aeb$1gl8@cymbal.aix.calpoly.edu>
  9. Reply-To: fred@genesis.demon.co.uk
  10. X-NNTP-Posting-Host: genesis.demon.co.uk
  11. X-Newsreader: Demon Internet Simple News v1.27
  12. X-Mail2News-Path: genesis.demon.co.uk
  13.  
  14. In article <4e1aeb$1gl8@cymbal.aix.calpoly.edu>
  15.            dstubbs@cymbal.aix.calpoly.edu "Dan Stubbs" writes:
  16.  
  17. >int is_power_of_two(int k) {       /* 1.0  1.0  1.0  1.0 */
  18. >   if (k <= 0) return 0;
  19. >   return (!(k & (k-1)));
  20. >}
  21. >
  22. >int is_power_of_two(int k) {       /*  1.1  1.0  1.1  1.0 */
  23. >   if (k <= 0) return 0;
  24. >   return ((k & (k-1))  == 0);
  25. >}
  26.  
  27. I wouldn't be too impressed these days with a compiler that generates less 
  28. efficient code for ((k & (k-1) == 0) than (!(k & (k-1))
  29.  
  30. -- 
  31. -----------------------------------------
  32. Lawrence Kirby | fred@genesis.demon.co.uk
  33. Wilts, England | 70734.126@compuserve.com
  34. -----------------------------------------
  35.